package com.example.jobback.aspect;
import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;
/**
 * @Description: 自定义注解，流量控制注解
 * @Author lhb
 * @CreateTime 2025/9/2 21:20
 */


@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RateLimit {
    /**
     * @Description: 限流时间窗口（默认60秒）
     * @Author lhb
     * @CreateTime 2025/9/2 21:21
     */
    long time() default 60;

    /**
     * @Description: 时间窗口内最大访问次数（默认100次）
     * @Author lhb
     * @CreateTime 2025/9/2 21:21
     */
    int count() default 100;

    /**
     * @Description: 时间单位（默认秒）
     * @Author lhb
     * @CreateTime 2025/9/2 21:21
     */
    TimeUnit unit() default TimeUnit.SECONDS;
}
